package dao;


import java.sql.PreparedStatement;
import java.sql.ResultSet;
import java.sql.SQLException;
import java.util.ArrayList;
import java.util.List;
import javax.swing.JOptionPane;
import modelo.Detetive;

/**
 *
 * @author marcieli
 */
public class DetetiveDAO {

    public Boolean Excluir(Detetive obj) {
Boolean retorno = false;
        String sql = "DELETE FROM detetive WHERE detetiveid =? ";
        PreparedStatement pst = Conexao.getPreparedStatement(sql);
        try {

                 pst.setInt(1, obj.getCodigo());
           
            
             Integer resultado = pst.executeUpdate();
            
            if(resultado > 0){ //executa o DELETE
                retorno=true;
                    JOptionPane.showMessageDialog(null, "Excluído com sucesso!");
                
            } else {
                retorno = false;
                JOptionPane.showMessageDialog(null, "Não excluido");
            }

        } catch (SQLException ex) {
            System.out.println("ERROR" + ex.getMessage());
        }
        return retorno;
    }


    public List<Detetive> Listar() {
        List<Detetive> lista = new ArrayList<>();
        String sql = "SELECT * FROM detetive";
//prepara o sql para execução
        PreparedStatement pst = Conexao.getPreparedStatement(sql);
        ResultSet resultado;
        try {
            resultado = pst.executeQuery();

            while (resultado.next()) {
                Detetive detetive = new Detetive();
                detetive.setCodigo(resultado.getInt("detetiveid"));
                detetive.setNomeDet(resultado.getString("detetivenome"));
                detetive.setEmail(resultado.getString("detetiveemail"));
                detetive.setNumeroCasos(resultado.getInt("detetivenumerocasos"));
                detetive.setEquipe(resultado.getString("detetivenomeequipe"));

                lista.add(detetive);

            }
        } catch (SQLException ex) {
            lista = null;
        }
        return lista;

    }

    public Boolean Cadastrar(Detetive detetive) {

        String sql = "INSERT INTO Detetive" + "(detetivenome,detetiveemail,detetivenumerocasos,detetivenomeequipe) VALUES (?,?,?,?)";
        boolean retorno = false;
        PreparedStatement pst = Conexao.getPreparedStatement(sql);
        try {
            pst.setString(1, detetive.getNomeDet());
            pst.setString(2, detetive.getEmail());
            pst.setInt(3, detetive.getNumeroCasos());
            pst.setString(4, detetive.getEquipe());
            
            Integer resultado = pst.executeUpdate();
            if (resultado > 0) {
                retorno = true;
            } else {
                retorno = false;
            }

        } catch (SQLException ex) {
            System.out.println("ERROR" + ex.getMessage());
            retorno = false;
        }
        return retorno;

    }
}
